Presto এর Dashboard এবং Alerts কনফিগারেশন সিস্টেমের পারফরম্যান্স মনিটরিং, নিরবচ্ছিন্ন অপারেশন এবং দ্রুত সমস্যা চিহ্নিতকরণে গুরুত্বপূর্ণ ভূমিকা পালন করে। Presto ক্লাস্টারে রিয়েল-টাইম মনিটরিং সক্ষম করার মাধ্যমে, আপনি ক্লাস্টারের সাস্থ্য, কোয়েরি পারফরম্যান্স এবং অন্যান্য গুরুত্বপূর্ণ মেট্রিকস ট্র্যাক করতে পারেন।
Presto তে ড্যাশবোর্ড এবং এলার্ট কনফিগারেশন সাধারণত Prometheus এবং Grafana এর মাধ্যমে সম্পন্ন করা হয়। Prometheus ডেটা সংগ্রহের জন্য এবং Grafana ড্যাশবোর্ড তৈরি এবং এলার্ট কনফিগারেশনের জন্য ব্যবহৃত হয়।
Presto এর পারফরম্যান্স মনিটরিং করার জন্য আমরা সাধারণত Prometheus ব্যবহার করি ডেটা সংগ্রহের জন্য এবং Grafana ব্যবহার করি সেই ডেটার ভিজ্যুয়াল ড্যাশবোর্ড তৈরি করার জন্য।
ধাপ ১: Prometheus ইনস্টল করা Prometheus ইনস্টল করতে প্রথমে ডাউনলোড করতে হবে:
wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz
tar xvf prometheus-2.30.3.linux-amd64.tar.gz
cd prometheus-2.30.3.linux-amd64
ধাপ ২: Prometheus কনফিগারেশন Prometheus-এর prometheus.yml
কনফিগারেশন ফাইলে Presto সার্ভারের জন্য একটি মেট্রিক্স সংগ্রহ কনফিগার করতে হবে।
scrape_configs:
- job_name: 'presto'
static_configs:
- targets: ['<presto-server-ip>:8080'] # Presto কো-অর্ডিনেটর বা Worker নোডের IP এবং পোর্ট
ধাপ ৩: Prometheus চালানো Prometheus কনফিগারেশন ফাইল দিয়ে চালু করুন:
./prometheus --config.file=prometheus.yml
এটি Prometheus সার্ভার চালু করবে এবং Presto সার্ভার থেকে মেট্রিক্স সংগ্রহ শুরু করবে।
ধাপ ১: Grafana ইনস্টল করা Grafana ইনস্টল করার জন্য নিম্নলিখিত কমান্ড ব্যবহার করুন:
sudo apt-get install -y software-properties-common
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
sudo apt-get update
sudo apt-get install grafana
ধাপ ২: Grafana সার্ভিস চালু করা Grafana সার্ভিস চালু করুন:
sudo systemctl enable grafana-server
sudo systemctl start grafana-server
ধাপ ৩: Grafana ড্যাশবোর্ড কনফিগারেশন Grafana এ লগ ইন করতে আপনার ব্রাউজারে http://<grafana-ip>:3000
এ যান (ডিফল্ট ইউজারনেম এবং পাসওয়ার্ড admin
/admin
থাকে)।
http://<prometheus-ip>:9090
যোগ করুন।presto_query_count
এবং presto_cpu_usage
এর মতো মেট্রিক্স যোগ করতে পারেন।Presto ক্লাস্টারের স্বাস্থ্য এবং পারফরম্যান্স মনিটর করতে Alerts কনফিগার করা অত্যন্ত গুরুত্বপূর্ণ। Alerts কনফিগার করা হলে, যখন কোনও নির্দিষ্ট থ্রেশহোল্ড অতিক্রম করবে (যেমন উচ্চ CPU ব্যবহার, বা কোয়েরি টাইম আউট), তখন আপনি সিস্টেমে একটি এলার্ট পেতে পারবেন।
alert.rules ফাইল তৈরি করুন: Prometheus এ এলার্ট রুলস কনফিগার করতে alert.rules
ফাইল তৈরি করুন।
উদাহরণ:
groups:
- name: presto_alerts
rules:
- alert: HighCPUUsage
expr: avg(rate(presto_cpu_usage[1m])) > 0.9
for: 2m
labels:
severity: critical
annotations:
summary: "High CPU usage on Presto Worker"
- alert: HighQueryLatency
expr: avg(presto_query_duration_seconds) > 5
for: 5m
labels:
severity: warning
annotations:
summary: "High query latency on Presto"
এই উদাহরণে:
Prometheus Alertmanager কনফিগারেশন: Alertmanager একটি কম্পোনেন্ট যা এলার্টগুলি হ্যান্ডল করে এবং সেগুলি ব্যবহারকারীর কাছে পাঠায় (যেমন ইমেইল, Slack, ইত্যাদি)।
alertmanager.yml কনফিগারেশনে এলার্ট সম্বন্ধে কনফিগারেশন যোগ করুন:
global:
resolve_timeout: 5m
route:
group_by: ['alertname']
group_wait: 10s
group_interval: 5m
repeat_interval: 3h
receiver: 'slack-notifications'
receivers:
- name: 'slack-notifications'
slack_configs:
- channel: '#presto-alerts'
send_resolved: true
webhook_url: 'https://hooks.slack.com/services/your/slack/webhook'
Grafana তে এলার্ট কনফিগার করাও খুবই সহজ। আপনাকে প্রথমে একটি ড্যাশবোর্ডে ভিজ্যুয়ালাইজেশন সেটআপ করতে হবে, তারপর এলার্ট কনফিগারেশন যোগ করতে হবে।
Presto Dashboard এবং Alerts কনফিগারেশন Presto ক্লাস্টারের সঠিক মনিটরিং এবং পারফরম্যান্স ব্যবস্থাপনায় অত্যন্ত গুরুত্বপূর্ণ। Prometheus এবং Grafana ব্যবহার করে আপনি Presto সার্ভারের স্বাস্থ্য এবং পারফরম্যান্স রিয়েল-টাইম ট্র্যাক করতে পারবেন, এবং Alerts কনফিগার করার মাধ্যমে আপনি ক্লাস্টারে সমস্যা চিহ্নিত করতে এবং দ্রুত সমাধান করতে সক্ষম হবেন।
Read more